1
从结构体到抽象数据类型
AI037Lesson 12
00:00

从一个 结构体 到一个 抽象数据类型(ADT) 标志着设计哲学的根本转变。虽然一个 结构体 通常只是变量的被动集合,而抽象数据类型则是一个主动实体,通过 封装来管理自身的状态。

1. 设计意图

在C++中, class 关键字表明了对 数据抽象的承诺。该策略将 接口 (用户可以执行的操作)与 实现 (数据如何存储)分离开来。通过屏蔽内部变量,程序员确保对象能够保持其自身的内部一致性。

被动结构体书号数量封装类ADTisbn()combine()

2. 技术细节

从技术上讲,一个 结构体 和一个 class 在C++中的唯一区别是 默认访问级别。一个 结构体 的成员默认是 公共的 ,反映了它们作为开放数据持有者的角色。一个 class 的成员默认是 的成员默认是 ,反映了它们作为受控实体的角色。

$$\text{ADT} = \text{数据} + \text{操作}$$

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>